import asyncio  # 导入 asyncio 库，用于编写协程代码

# 定义一个协程函数
async def say_after(delay, what):
    # 使用 asyncio.sleep 来模拟 I/O 操作，这里会暂停 delay 秒
    await asyncio.sleep(delay)
    # 打印信息
    print(what)

# 定义另一个协程函数
async def main():
    # 创建两个协程任务
    print(f"开始于 {time.strftime('%X')}")  # 打印当前时间
    await say_after(1, 'hello')  # 等待 say_after 协程完成，这里会等待 1 秒
    await say_after(2, 'world')  # 等待另一个 say_after 协程完成，这里会等待 2 秒
    print(f"结束于 {time.strftime('%X')}")  # 打印当前时间

# 导入 time 模块，用于获取当前时间
import time

# 运行事件循环，直到 main 协程完成
asyncio.run(main())

#
# async def hello1():
#     print(111)
#
#
# async def hello2():
#     print(222)
#
# async def hello3():
#     print(333)
#
# async def main():
#     print(f"开始于 {time.strftime('%X')}")  # 打印当前时间
#     await hello1()
#     await hello2()
#     await hello3()
#     print(f"结束于 {time.strftime('%X')}")  # 打印当前时间
#
# # 导入 time 模块，用于获取当前时间
# import time
#
# # 运行事件循环，直到 main 协程完成
# asyncio.run(main())